varying float u_op;
uniform float u_time;
uniform float u_height;
uniform float u_speed;
void main() {
    //y轴平移
    float py = position.y + sin(u_time * 2.0) * u_speed;
  /*   y轴旋转  
    x正方形 沿z轴正方向 旋转
    x*cos(angle) + z*sin(angle)
    z*cos(angle) - x*sin(angle)
    x正方形 沿z轴负方向 旋转
    x*cos(angle) - z*sin(angle)
    z*cos(angle) + x*sin(angle)
   */
    float px = position.x * cos(u_time) + sin(u_time) * position.z;
    float pz = position.z * cos(u_time) - sin(u_time) * position.x;
    vec3 new_position = vec3(px, py, pz);
    u_op = mix(0.6, 0.0, position.y / u_height);
    gl_Position = projectionMatrix * modelViewMatrix * vec4(new_position, 1.0);
}